// 封装与文章相关的操作
import ajax from '@/utils/request'
/**
 * 用来获取指定频道下方的文章列表
 * @param {*} channelId 频道id
 * @param {*} timestamp 时间戳整数 单位毫秒 时间戳，请求新的推荐数据传当前的时间戳，请求历史推荐传指定的时间戳
 */
/*
Query
channelId: 当前频道编号
timestamp: 时间戳。请求新的推荐数据传当前的时间戳，请求历史推荐传指定的时间戳
with_top: 1 。固定为1。
*/
// 对axios来说
// 如果通过body去传参，就要写data    ---post
// 如果要通过query去传参，就要写params  --- get
export const getArticles = (channelId, timestamp) => {
  return ajax({
    methods: 'GET',
    url: '/app/v1_1/articles',
    params: {
      channel_id: channelId,
      timestamp: timestamp,
      with_top: 1
    }
  })
}
/**
 * 文章更多操作---- 不喜欢指定id的文章
 * @param {*} articleId 文章编号
 */
export const dislikeArticle = (articleId) => {
  return ajax({
    method: 'POST',
    url: '/app/v1_0/article/dislikes',
    // - data : 参数会在在请求体中传递。
    //          如果接口文档中的参数是用body来说明参数，则用data
    data: {
      target: articleId
    }
  })
}
/**
 * 举报文章
 * @param {*} articleId 文章编号
 * @param {*} type 举报类型编号
 */
export const reportArticle = (articleId, type) => {
  return ajax({
    method: 'POST',
    url: '/app/v1_0/article/reports',
    data: {
      target: articleId,
      type
    }
  })
}
/**
 * 根据文章编号来获取文章详情
 * @param {*} id 文章编号
 */
export const getArticle = id => {
  return ajax({
    method: 'GET',
    url: '/app/v1_0/articles/' + id
  })
}
/**
 * 对文章进行点赞
 */
export const liking = (articleId) => {
  return ajax({
    method: 'POST',
    url: '/app/v1_0/article/likings',
    data: {
      target: articleId
    }
  })
}
/**
 * 取消对文章进行点赞
 */
export const unliking = (articleId) => {
  return ajax({
    method: 'DELETE',
    url: '/app/v1_0/article/likings/' + articleId
  })
}
